import axios from 'axios'
import { ElMessage } from 'element-plus';
import router from '../router'

// 创建axios实例
const request = axios.create({
// 请求的基准路径上添加/api
  baseURL: '/api',
  timeout: 60000,
});

// 添加请求拦截器
request.interceptors.request.use(function (config) {
  let userJwt = localStorage.getItem('userToken')
  if(userJwt){
    //将得到的令牌，设置到请求头上去
    config.headers.token = JSON.parse(userJwt).token
  }
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
//要用创建的实例来添加拦截器，就是用request来添加
request.interceptors.response.use(function (response) {
  // 对响应数据进行处理，取出响应数据的data数据
    return response.data;
  }, function (error) {
    if(error.response.status === 401){
      ElMessage.error("登录已过期，请重新登录")
      //要跳转到登录页面
      router.push("/login")
    }
    return Promise.reject(error);
  });

export default request;